#!/usr/bin/env python

import methods_ecs

Import("env")
Import("env_modules")

env_ecs = env_modules.Clone()
if env_ecs["float"] == "64":
    env_ecs.Append(CPPDEFINES=["BT_USE_DOUBLE_PRECISION=1"])

methods_ecs.generate_system_structs()
methods_ecs.generate_system_exe_funcs()
methods_ecs.generate_system_dispatcher_exe_funcs()
methods_ecs.generate_temporary_system_exe_funcs()

# Godex source files
env_ecs.add_source_files(env.modules_sources, "utils/*.cpp")
env_ecs.add_source_files(env.modules_sources, "memory/*.cpp")
env_ecs.add_source_files(env.modules_sources, "components/*.cpp")
env_ecs.add_source_files(env.modules_sources, "spawners/*.cpp")
env_ecs.add_source_files(env.modules_sources, "iterators/*.cpp")
env_ecs.add_source_files(env.modules_sources, "storage/*.cpp")
env_ecs.add_source_files(env.modules_sources, "systems/*.cpp")
env_ecs.add_source_files(env.modules_sources, "databags/*.cpp")
env_ecs.add_source_files(env.modules_sources, "world/*.cpp")
env_ecs.add_source_files(env.modules_sources, "pipeline/*.cpp")
env_ecs.add_source_files(env.modules_sources, "*.cpp")
